Iso15 command group

The ISO 15693 command group contains commands for communication with labels compatible to the ISO 15693 standard. This document does not replace the official ISO 15693 specification. It is rather meant to be used in combination with it.

The Baltech reader understands the so-called mandatory and optional commands as well as custom commands for some label types. However, custom commands are not documented in this page.

In order to communicate with an ISO 15693 compatible label, it is necessary to know its UID. Every command sent to the reader uses the UID to address the label. This is very important to guarantee that only one label reacts to the command. A command may also be executed without specifying a UID if it is certain that only one label is present in the reader's HF field. However, it is most of the time difficult to know how many labels are present within the antenna's field at a given time. Thus, it is advisable to execute the Iso15.GetUIDList command before starting to communicate with the label. This command returns a list of available labels along with their UIDs.

The Iso15.StayQuiet command may be used to set a certain label to quiet-state, i.e. to keep the label from answering to subsequent calls of the Iso15.GetUIDList command. This may be useful when a label has been fully processed and the application wants to scan for other labels that may also be available in the reader's HF field at the same time. The opposite command which sets a label back to ready-state is Iso15.ResetToReady. The addressed label will then answer again to subsequent calls of Iso15.GetUIDList.

Once the UID of a specific label is known (e.g. by executing Iso15.GetUIDList ), there are three options to communicate with this label. The communication mode needs to be chosen using the Iso15.SetMode command. All subsequent commands performing communication with the label will then use this mode. If a different label must be addressed, Iso15.SetMode has to be called again. The three possible communication modes are:

The memory of labels compliant to ISO 15693 is organized as a sequence of blocks where the block-size is fixed for a certain type of label. The default length of a block is four byte. Each block can be directly accessed and the available commands for data exchange, mainly ReadBlock and WriteBlock , are generally designed to handle one block per call. GetSystemInformation retrieves general information about a specific label.

WARNING: This command set is not available in all Baltech reader firmware variants.

Status codes

BRP status BRP Library Error Code Mnemonic Description
0x01 0x2101 (8449) Iso15.ErrNoTag No label in field of antenna.
0x02 0x2102 (8450) Iso15.ErrCollision This status code is triggered by two events:
  • A collision between two or more labels occurred.
  • DSFID different - cannot resolve collision.
0x04 0x2104 (8452) Iso15.ErrHf General HF Error.
0x05 0x2105 (8453) Iso15.ErrLabel Label status error.
0x10 0x2110 (8464) Iso15.ErrCom Error in communication to reader chip.
0x20 0x2120 (8480) Iso15.ErrCmd Command and/or parameters invalid.
0x23 0x2123 (8483) Iso15.ErrParamNotSupported Reader chip does not support label type parameters.
0x24 0x2124 (8484) Iso15.ErrMem Either internal list of labels or response buffer full.
0x25 0x2125 (8485) Iso15.ErrLabelBlocksize The blocks requested are not equal in size (Read multiple blocks).
0x26 0x2126 (8486) Iso15.ErrHwNotSupported Command not supported by hardware.